<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /*
    1. 思考：如何使用递归实现对象的深拷贝（不考虑数组）（一周）
    2. 测试并总结数组的每个方法的功能，参数，返回值，是否改变原数据
    - 朗读并背诵全文
    3. 定义一个30项的数组，数组的每一项要求都是6，每间隔5个数字，求出这五个数的平均值
    4. 通过循环制造一个5 x 5的二维数组，这个数组中的数据是hello，试编程
    - [[],[],[],[],[]]
    5. 编写函数 map(arr)，要求把数组中的每一位数字都增加30%
    6. 编写函数 has(arr, 60)，要求判断数组中是否存在60这个元素，返回布尔类型
    7. 编写函数 norepeat(arr)，要求将数组的重复元素去掉，并返回新的数组
    8. 有一个从小到大排好序的数组。现输入一个数，要求按原来的规律将它插入数组中
    9. 不要求做出来，以思考为主，当天知识点朗读并背诵全文
        */
    </script>
    <script>
        //push
       var arr = [6, 4, 9, 9, 250, 7, 7, 110, 5];
       console.log(arr)
    //    var res=arr.push("hello","shabi")
    //    console.log(res)
        //数组最后插入
        //返回值，插入后数组的长度leagth
        //改变了原数组
        //参数：push("hello","shabi")


        //unshift
    //    var res=arr.unshift("hello","shabi")
    //    console.log(res)
        /*
        数组最前插入
        返回值，插入后数组的长度leagth
        改变了原数组
        参数：unshift("hello","shabi")
        */

        //concat
    //    var res= arr.concat("hello","word",[5,6,7,[2,3]])
    //    console.log(res)
        /*
        合并数组中还有一个数组，有且只能合并一组
        返回值，新数组
        concat(a,b,c);所有参数可选，要合并的数据
        不改变原数组
        
        */

        //pop
    //    var res =arr.pop();
    //    console.log(res)
        /*
        数组最后删除一位
        返回值，被删除的数据
        没有参数
        改变数组
        */


        //shift
        // var res=arr.shift();
        // console.log(res)
         /*
        数组最前删除一位
        返回值，被删除的数据
        没有参数
        改变数组
        */

        //reverse
    //    arr.reverse();
    //     console.log(arr)
        /*
        反转数组
        返回值，新数组
        没有参数
        改变数组
        */
       
        //slice
        // var arr = ["Tom","Jack","Lucy","Lily","May"];
        // console.log(arr.slice(1,3));        //["Jack","Lucy"]
        // console.log(arr.slice(1));          //["Jack","Lucy","Lily","May"]
        // console.log(arr.slice(-4,-1));      //["Jack","Lucy","Lily"]
        // console.log(arr.slice(-2));         //["Lily","May"]
        // console.log(arr.slice(1,-2));       //["Jack","Lucy"]
        // console.log(arr);                   //["Tom","Jack","Lucy","Lily","May"]---原数组未改变
        /*
        一个参数时从第一个数据开始，往后切参数的数目
        两个参数时从第几位开始，不包含最后一位
        返回值是切下的额数组
        改变数组
        */

        //join
    //   var res= arr.join(" ");
    //    console.log(res)
         /*
        将数组中的数据根据参数的内容进行提取，参数存在数据之间
        参数是用什么东西隔开
        不改变原数组
        */
        

        //toString
    //    var res=arr.toString();
    //     console.log(res)
         /*
        转为字符串，没有参数
        不改变原数组
        */

        //sort
        // var res=arr.sort()
        // console.log(res)
        /*
        功能：排序
        默认的排序规则：字符的排序
        参数是回调函数
        回调函数需要有返回值：两个形参的差
        
        */
       arr.sort(function(a,b){
        return a-b
       })
       console.log(arr)

   

    </script>
</body>
</html>